package main

import (
	"fmt"
	"net"
)

func main() {
	// 接收方的IP和接收端口
	server := "143.198.107.33:5060"

	// 连接接收方9999端口
	connection, error := net.Dial("udp4", server)
	if error != nil {
		fmt.Println("连接服务器错误" + error.Error())
		return
	}
	defer connection.Close()

	// 连接成功，开始应用层协议
	// buf := make([]byte, 1024)
	// 发送ALOHA（第一步）
	writeLength, error := connection.Write([]byte("ALOHA"))
	if error != nil || writeLength <= 0 {
		fmt.Println("发送ALOHA错误" + error.Error())
		return
	}

	// 接收服务端连接响应YO（第二步）
	//readLength, error := connection.Read(buf)
	//message := string(buf[:readLength])
	//if error != nil || readLength <= 0 || message != "YO" {
	//	fmt.Println("接收YO错误" + error.Error())
	//	return
	//}

	// 发送请求（第三步）
	writeLength, error = connection.Write([]byte("REQUEST1"))
	if error != nil || writeLength <= 0 {
		fmt.Println("发送请求错误" + error.Error())
		return
	}
	fmt.Println("成功发送：")

	// 接收响应（第四步）
	//readLength, error = connection.Read(buf)
	//if error != nil || readLength <= 0 {
	//	fmt.Println("接收响应错误" + error.Error())
	//	return
	//}
	//response := string(buf[:readLength])
	//fmt.Println("成功接收响应：" + response)
}
